Texture mapping is an efficient and popular way to add details on surfaces in computer graphics applications. However, creating large and detailed texture maps is a difficult and tedious task. Moreover, these texture maps are usually at high resolution and often do not fit into available memory. Texture synthesis algorithms (such as sample-based texture synthesis techniques) are aimed at automatically generating large textures from a small example image (known as a texture sample or exemplar). Sample-based texture synthesis both reduces content creation time and storage requirements since the large texture can be generated from the exemplar and a set of parameters.
In general, sample-based texture synthesis takes a low-resolution texture image (called an exemplar image) and generates additional content based on that exemplar image to create much more content that is contained in the exemplar image. Sample-based texture synthesis analyzes a given exemplar image to create visually similar images. In graphics, these images often contain surface attributes like colors and normals, as well as displacement maps that define geometry itself. Sample-based texture synthesis alleviates the need to store explicitly an entire expanse of content. Instead, the content is generated “on the fly” from the much smaller exemplar image.
The output of many texture synthesis algorithms can be interpreted as indirection textures. An indirection texture is a texture that stores the coordinates of pixels contained in a separate texture image. A key feature of an indirection texture is that the pixel coordinates map directly to pixels in the separate texture image. In this manner, a color of a pixel can be retrieved given the pixel coordinate.
One drawback, however, of texture synthesis applications is that it is expensive to generated high-resolution results. Often it is desirable to obtain high-resolution textures, but most texture synthesis techniques do not produce high-resolution output because it is too expensive. In order to obtain a high-resolution result, the texture synthesis technique must be applied several times, thereby increasing expense. For this reason, current texture synthesis applications typically produce low-resolution indirection texture results.